package algorithm.binaryTreeAlgorithm;

import data.TreeNode;

import java.util.HashSet;
import java.util.Set;

/**
 * @ClassName: FindTarget
 * @Description 653. 两数之和 IV - 输入 BST
 * 给定一个二叉搜索树 root 和一个目标结果 k，如果 BST 中存在两个元素且它们的和等于给定的目标结果，则返回 true。
 * @Author skywingking
 * @Date 2022/3/21 9:53 下午
 **/
public class FindTarget {
    Set<Integer> set = new HashSet<>();
    public boolean findTarget(TreeNode root, int k) {
        if(root == null){
            return false;
        }
        if(set.contains(k - root.val)){
            return true;
        }
        set.add(root.val);
        return findTarget(root.left,k) || findTarget(root.right,k);

    }
}